Spreadsheet Workbench/pt-br

ícone da bancada de trabalho Spreadsheet

Introdução

A bancada de trabalho Spreadsheet permite criar e editar planilhas, usar dados da planilha como parâmetros em um modelo, preencher a planilha com dados recuperados de um modelo, realizar cálculos e exportar os dados para outras aplicações de planilhas como o LibreOffice ou o Microsoft Excel.

Uma planilha com algumas células preenchidas com texto e quantidades

Ferramentas

Preferências

Remover células pode ser perigoso

Observe que excluir ou remover células que contêm dados pode comprometer a planilha e o seu modelo, caso ele dependa dela. Você não receberá nenhum aviso prévio caso isso ocorra.

Inserir e remover linhas e colunas

Linhas e colunas podem ser inseridas ou removidas clicando com o botão direito no cabeçalho da linha ou coluna e selecionando a opção apropriada no menu de contexto. É possível selecionar várias linhas ou colunas previamente, seja mantendo a tecla Ctrl pressionada ao selecionar os cabeçalhos ou mantendo o botão esquerdo do mouse pressionado e arrastando.

Editar células

O conteúdo de uma célula pode ser editado selecionando a célula e inserindo um valor na caixa de entrada Conteúdo, na parte superior da janela. Para editar uma célula diretamente no local, selecione-a e pressione F2 ou clique duas vezes nela.

Excluir células

  1. Selecione uma ou mais células. Para selecionar várias células, mantenha a tecla Ctrl pressionada enquanto seleciona, ou mantenha o botão esquerdo do mouse pressionado e arraste para selecionar um intervalo retangular de células.
  2. Faça um dos seguintes procedimentos:
    • Pressione a tecla Delete.
    • Clique com o botão direito em uma das células selecionadas e escolha a opção Excluir no menu de contexto.

Esta operação exclui o conteúdo, as propriedades e os aliases das células. Para excluir apenas o conteúdo, as células devem ser editadas.

Cortar, copiar e colar células

  1. Selecione uma ou mais células. Veja acima.
  2. Faça um dos seguintes:
    • Use um dos atalhos padrão: Ctrl+X, Ctrl+C ou Ctrl+V respectivamente.
    • Clique com o botão direito em uma das células selecionadas e selecione a opção apropriada no menu de contexto.
    • Selecione a opção apropriada no Edit Menu.

As operações de recortar e copiar armazenam o conteúdo, as propriedades e os aliases das células na Área de Transferência. A operação de colar grava os dados de modo que o conteúdo da célula superior esquerda dos dados armazenados seja inserido na célula ativa. O restante do conteúdo armazenado é posicionado em relação a essa célula. As fórmulas são atualizadas de acordo. Os aliases só são colados se forem exclusivos.

Propriedades das células

As propriedades de uma célula de planilha podem ser editadas clicando com o botão direito na célula e selecionando Propriedades… no menu de contexto. A seguinte caixa de diálogo é exibida:

Conforme indicado pelas abas, as seguintes propriedades podem ser alteradas:

Expressões nas células

Uma célula de planilha pode conter um número, um texto ou uma expressão. Expressões devem começar com um sinal de igualdade '='.

As expressões celulares podem conter números, funções, referências a outras células e referências a propriedades do modelo (Mas veja Limitações atuais abaixo). As células podem ser referenciadas por seu endereço (letra maiúscula da coluna + número da linha, ex B4) ou por seu pseudônimo.

Nota: As expressões das délulas são tratadas pelo FreeCAD como código de programação. Portanto, quando você edita uma célula, o conteúdo que você vê pode não estar de acordo com suas configurações de visualização:

As referências a objetos no modelo são explicadas em Referências a dados CAD abaixo. A utilização dos valores das células da planilha para definir as propriedades do modelo é explicada em Dados da planilha em expressões abaixo. Para mais informações sobre as expressões e as funções disponíveis, veja Expressões.

Interação entre as planilhas e o modelo CAD

Os dados nas células de uma planilha podem ser usados nas expressões de parâmetros do modelo CAD. Assim, uma planilha pode ser usada como fonte para valores de parâmetros utilizados em todo o modelo, reunindo efetivamente os valores em um só lugar. Quando os valores são alterados na planilha, eles são propagados ao longo do modelo.

Da mesma forma, as propriedades dos objetos do modelo CAD podem ser usadas em expressões em células de planilhas. Isto permite o uso de propriedades de objetos como volume ou área na planilha eletrônica. Se o nome de um objeto no modelo CAD for alterado, a alteração será automaticamente propagada para quaisquer referências nas expressões da planilha usando o nome que foi alterado.

Mais de uma planilha de cálculo pode ser usada em um documento. Uma planilha pode ser identificada usando seu nome ou sua etiqueta.

O FreeCAD atribuirá automaticamente um nome exclusivo a uma planilha de cálculo quando ela for criada. Estes nomes seguem o padrão Spreadsheet, Spreadsheet001, Spreadsheet002 e assim por diante. O nome não pode ser alterado e não é visível nas propriedades da planilha. Ele pode ser usado para se referir à planilha em uma Expressão (ver Dados da planilha em expressões abaixo.)

O rótulo de uma planilha é automaticamente definido com o nome da planilha no momento da criação. Ao contrário do nome, a etiqueta pode ser alterada, por exemplo, no painel de propriedades ou usando a ação do menu de contexto Renomear. Por padrão o FreeCAD não aceita rótulos duplicados, mas existe uma configuração para permitir isso. Planilhas com rótulos duplicados no mesmo documento não podem ser referenciadas pelo rótulo.

O FreeCAD verifica dependências cíclicas. Veja em Limitações atuais.

Referências a dados CAD

Como indicado acima, é possível consultar os dados do modelo CAD em expressões de planilhas.

A tabela a seguir mostra alguns exemplos assumindo que o modelo tem uma característica chamada "MyCube":

Dados CAD Célula em Planilha Resultado
Comprimento paramétrico de um cubo de bancada de trabalho parcial =MyCube.Length Comprimento com unidades mm
Volume do Cubo =MyCube.Shape.Volume Volume em mm³ sem unidades
Tipo da forma do cubo =MyCube.Shape.ShapeType String: Solid
Rótulo do Cubo =MyCube.Label String: MyCube
x coordenada do centro de massa do Cubo =MyCube.Shape.CenterOfMass.x coordenada em mm sem unidades

Dados da planilha em expressões

Para usar os dados da planilha em outras partes do FreeCAD, você geralmente criará uma Expressão que se refere à planilha e à célula que contém os dados que você deseja usar. Você pode identificar as planilhas por nome ou por etiqueta, e pode identificar as células por endereço ou por pseudônimo. O auto-completamento está disponível para todas as formas de referência.

Planilha por nome Planilha por Rótulo
Célula por endereço =Spreadsheet042.B5 =<<MySpreadsheet>>.B5
Célula por Pseudónimo =Spreadsheet042.MyAlias =<<MySpreadsheet>>.MyAlias

A maneira recomendada de consultar os dados da planilha é usar a etiqueta da planilha e o nome da célula. Para uma explicação mais profunda dos prós e contras dos modos de referenciamento, veja a seção expandida abaixo.

O uso do rótulo da planilha tem a vantagem de poder ser livremente alterado para descrever o conteúdo da planilha. Também é mais fácil identificar a planilha que está sendo utilizada, já que o texto na expressão corresponde à etiqueta mostrada na visualização do modelo e das propriedades. Se você decidir mudar o rótulo de uma planilha, as referências existentes ao conteúdo da planilha serão atualizadas, para que você não quebre suas expressões ao renomear a planilha. O nome interno da planilha não está prontamente disponível em nenhum lugar, exceto dentro do editor de expressões, portanto, se você usar o nome interno e mais tarde decidir renomear as planilhas, você poderá ter dificuldade em rastrear seus dados de expressão de volta à sua fonte.

Esteja ciente de que quando você cria uma nova planilha, o nome e a etiqueta são os mesmos, por isso é fácil usar acidentalmente o nome da planilha em vez da etiqueta. Uma maneira simples de evitar isto é dar à planilha um nome significativo antes de começar a usá-la em expressões.

Embora você possa usar o número da linha e da coluna em uma expressão para referenciar uma célula, a melhor prática é atribuir um pseudônimo à célula e usar esse nome. Consulte Propriedades da célula para saber como definir o pseudônimo. Por exemplo, se os dados na célula B1 contiverem o parâmetro de comprimento para um objeto, um apelido como ComprimentoMeuObjeto permitiria que o valor fosse referenciado como <<MeusParâmetros>>.ComprimentoMeuObjeto em vez de Spreadsheet.B1. Além de ser muito mais fácil de ler e entender, os apelidos/pseudônimos também são muito mais fáceis de alterar caso você decida ajustar a estrutura da sua planilha. Usar um apelido também tem a vantagem de tornar mais fácil ver quais células são usadas para controlar outras partes do documento. Note que o FreeCAD ajustará automaticamente as referências posicionais nas expressões se você inserir ou remover linhas e colunas na planilha. Portanto, mesmo se você usar números de linha e coluna em uma expressão, pode inserir linhas e colunas sem quebrar as referências às células circundantes.

Modelos complexos e recompilações

A edição de uma planilha irá desencadear uma recomputação do modelo 3D, mesmo que as mudanças não afetem o modelo. Para um modelo complexo, uma recomputação pode levar muito tempo, e ter que esperar após cada edição é, naturalmente, bastante irritante.

Existem três soluções para lidar com isso:

  1. Pular temporariamente os recálculos:
    • Na Vista em Árvore, clique com o botão direito no documento que contém a planilha.
    • Selecione a opção Skip recomputes (Pular recálculos) no menu de contexto.
    • Há uma grande desvantagem nesta solução. Novos valores inseridos na planilha não serão exibidos até que o documento seja recalculado. Em vez disso, é exibido #PENDING.
    • Você pode recalcular manualmente, usando o comando Std Refresh (Atualizar), ou desativar a opção Skip recomputes quando terminar a edição.
  2. Usar uma macro para pular automaticamente os recálculos enquanto edita uma planilha:
    • Baixe e execute a macro skipSheet.FCMacro.
    • Esta solução economiza algumas etapas em comparação com a primeira, mas também apresenta a desvantagem mencionada.
  3. Colocar a planilha em um arquivo FreeCAD separado:
    • Você pode referenciar dados da planilha a partir de um arquivo .FCStd externo com esta sintaxe: =NameOfFile#<<MySpreadsheet>>.MyAlias.
    • A vantagem de ter a planilha em outro arquivo, em relação a desativar os recálculos, é que a própria planilha é recalculada.
    • A desvantagem é que o modelo não será recalculado automaticamente após alterações na planilha.
    • No cenário em que você abre primeiro o arquivo da 'planilha', altera um ou mais valores e depois abre o arquivo do 'modelo', não haverá nenhuma indicação de que o modelo precisa ser recalculado. No entanto, se ambos os arquivos estiverem abertos, o ícone Std Refresh será atualizado corretamente para o arquivo do 'modelo' após alterações no arquivo da 'planilha'.

Unidades

A Planilha tem uma noção de dimensão (unidades) associada aos valores das células. Um número inserido sem uma unidade associada não tem dimensão. A unidade deve ser inserida imediatamente após o valor do número, sem espaço interveniente. Se um número tiver uma unidade associada, essa unidade será usada em todos os cálculos. Por exemplo, a multiplicação de dois comprimentos com a unidade mm dá uma área com a unidade mm².

Se uma célula contiver um valor que represente uma dimensão, ele deve ser inserido com a unidade associada. Embora em muitos casos simples seja possível utilizar um valor adimensional, não é recomendável omitir a unidade. Se um valor que representa uma dimensão for inserido sem a unidade associada, certas sequências de operações podem fazer com que o FreeCAD aponte unidades incompatíveis em uma expressão, mesmo quando ela parece ser válida. (Isso pode ser melhor compreendido consultando este tópico nos fóruns do FreeCAD.)

Você pode mudar as unidades exibidas para um valor de célula usando o diálogo de propriedades. Isto não altera o valor contido na célula; ele apenas converte o valor existente para exibição. O valor utilizado para os cálculos não muda, e os resultados das fórmulas que utilizam o valor não mudam. Por exemplo, uma célula contendo o valor "5,08cm" pode ser exibida como "2in", alterando o valor da aba de unidades para "in".

Um número sem dimensão não pode ser alterado para um número com uma unidade pelo diálogo de propriedades da célula. Pode-se colocar uma cadeia de unidades, e essa cadeia será exibida; mas a célula ainda contém um número sem dimensões. Para mudar um valor sem dimensão para um valor com uma dimensão, o próprio valor deve ser reentrado com sua unidade associada.

Ocasionalmente, pode ser desejável se livrar de uma dimensão em uma expressão. Isto pode ser feito multiplicando por 1 com uma unidade recíproca.

Importação e exportação

Formato CSV

As planílhas do FreeCAD podem ser importadas e exportadas para o formato CSV que também pode ser lido e escrito pela maioria das outras aplicações de planilhas como o Microsoft Excel ou o LibreOffice Calc. Veja Importar planilha e Exportar planilha para mais informações.

Formato XLSX

Planilhas em formato Excel XLSX podem ser importadas através do comando Importar ou do comando Abrir. As seguintes características são suportadas:

Outras funcionalidades não são importadas para a planilha do FreeCAD.

Imprimindo

Para lidar com a configuração da página necessária para impressão, as planilhas do FreeCAD são impressas inserindo-as em Visualizar planilha do TechDraw.

Limitações atuais

Verificações FreeCAD para dependências cíclicas quando recalcula os modelos. Isso foi projetado de modo que essa verificação pára no nível do objeto da planilha. Como conseqüência, não se deve ter uma planilha que contenha tanto células cujos valores são usados para especificar parâmetros para o modelo, quanto células cujos valores usam a saída do modelo. Por exemplo, você não pode ter células especificando o comprimento, largura e altura de um objeto, e outra célula que faz referência ao volume total da forma resultante. Esta restrição pode ser superada com duas planilhas: uma usada como fonte de dados para parâmetros de entrada no modelo e a outra usada para cálculos baseados nos dados geométricos resultantes.

Vinculação de célula

É possível vincular o conteúdo das células a outras células da planilha. Isso pode ser útil ao lidar com tabelas grandes ou para obter o conteúdo de uma célula de outra planilha.

Criando o vínculo

Para vincular, por exemplo, o conjunto de células A3-C4 ao conjunto B1-D2:

  1. Selecione o conjunto A3-C4.
  2. Clique com o botão direito do mouse e selecione Vincular... no menu de contexto.
  3. A janela de diálogo Bind Spreadsheet Cells se abre.
  4. Defina o intervalo B1-D2 para as To cells:
  5. Aperte OK.
  6. As células vinculadas têm uma borda azul para destacar a vinculação.
  7. Se você inserir algo na célula C1 agora, o mesmo aparecerá imediatamente na célula B3.

A planilha agora deve parecer assim

Criando o vínculo

  1. Clique com o botão direito em uma célula vinculada (não é necessário destacar todo o intervalo vinculado) e selecione Vincular... no menu de contexto.
  2. A janela de diálogo Vincular Células da Planilha é aberta.
  3. Altere uma ou mais opções. Observe que a opção Vincular células, o intervalo de células vinculadas, não pode ser alterada.
  4. Pressione OK.

Removendo o vínculo

  1. Clique com o botão direito em uma célula vinculada (não é necessário destacar todo o intervalo vinculado) e selecione Vincular... no menu de contexto.
  2. A janela de diálogo Vincular Células da Planilha é aberta.
  3. Pressione Desvincular.

Notas

Tabelas de configuração

Você pode usar Planilhas para criar tabelas de configuração com conjuntos de parâmetros predefinidos para o seu modelo e, em seguida, alterar dinamicamente qual configuração utilizar. Consulte o tutorial Tabelas de Configuração. Leia esta postagem no fórum se quiser saber mais sobre o funcionamento interno desse recurso.

Programação

import Spreadsheet
sheet = App.ActiveDocument.addObject("Spreadsheet::Sheet", "MySpreadsheet")
sheet.Label = "Dimensions"

sheet.set("A1", "10mm")
sheet.recompute()
sheet.get("A1")

sheet.setAlias("B1", "Diameter")
sheet.set("Diameter", "20mm")
sheet.recompute()
sheet.get("Diameter")

# sheet.get() results in an error if the cell is empty.
# sheet.getContents() can be used to check the cell first.
if sheet.getContents("C1"):
    print(sheet.get("C1"))